home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / glibc108.zip / glibc108 / sysdeps / m68k / m68020 / asm.h < prev    next >
C/C++ Source or Header  |  1994-04-26  |  3KB  |  106 lines

  1. /* asm.h -- Definitions for 68k syntax variations.
  2.  
  3. Copyright (C) 1992, 1994 Free Software Foundation, Inc.
  4.  
  5. This file is part of the GNU MP Library.
  6.  
  7. The GNU MP Library is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU Library General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or (at your
  10. option) any later version.
  11.  
  12. The GNU MP Library is distributed in the hope that it will be useful, but
  13. WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  14. or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
  15. License for more details.
  16.  
  17. You should have received a copy of the GNU Library General Public License
  18. along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
  19. the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. #ifdef MIT_SYNTAX
  22. #define MEM(base)base@
  23. #define MEM_DISP(base,displacement)base@(displacement)
  24. #define MEM_PREDEC(memory_base)memory_base@-
  25. #define MEM_POSTINC(memory_base)memory_base@+
  26. #ifdef __STDC__
  27. #define INSN1(mnemonic,size_suffix,dst)mnemonic##size_suffix dst
  28. #define INSN2(mnemonic,size_suffix,dst,src)mnemonic##size_suffix src,dst
  29. #else
  30. #define INSN1(mnemonic,size_suffix,dst)mnemonic/**/size_suffix dst
  31. #define INSN2(mnemonic,size_suffix,dst,src)mnemonic/**/size_suffix src,dst
  32. #endif
  33. #define LAB(label) label:
  34. #define TEXT .text
  35. #define ALIGN .even
  36. #define GLOBL .globl
  37. #endif
  38.  
  39. #ifdef SONY_SYNTAX
  40. #define MEM(base)(base)
  41. #define MEM_DISP(base,displacement)(displacement,base)
  42. #define MEM_PREDEC(memory_base)-(memory_base)
  43. #define MEM_POSTINC(memory_base)(memory_base)+
  44. #define INSN1(mnemonic,size_suffix,dst)mnemonic.size_suffix dst
  45. #ifdef __STDC__
  46. #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src##,dst
  47. #else
  48. #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src/**/,dst
  49. #endif
  50. #define LAB(label) label:
  51. #define TEXT .text
  52. #define ALIGN .even
  53. #define GLOBL .globl
  54. #endif
  55.  
  56. #ifdef MOTOROLA_SYNTAX
  57. #define MEM(base)(base)
  58. #define MEM_DISP(base,displacement)(displacement,base)
  59. #define MEM_PREDEC(memory_base)-(memory_base)
  60. #define MEM_POSTINC(memory_base)(memory_base)+
  61. #define INSN1(mnemonic,size_suffix,dst)mnemonic.size_suffix dst
  62. #ifdef __STDC__
  63. #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src##,dst
  64. #else
  65. #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src/**/,dst
  66. #endif
  67. #define LAB(label) label
  68. #define TEXT
  69. #define ALIGN
  70. #define GLOBL XDEF
  71. #define l L
  72. #define w W
  73. #define move MOVE
  74. #define eor EOR
  75. #define lsr LSR
  76. #define add ADD
  77. #define addx ADDX
  78. #define addq ADDQ
  79. #define sub SUB
  80. #define subx SUBX
  81. #define subq SUBQ
  82. #define neg NEG
  83. #define bcc BCC
  84. #define bcs BCS
  85. #define bra BRA
  86. #define dbf DBF
  87. #define rts RTS
  88. #define d0 D0
  89. #define d1 D1
  90. #define d2 D2
  91. #define d3 D3
  92. #define d4 D4
  93. #define d5 D5
  94. #define d6 D6
  95. #define d7 D7
  96. #define a0 A0
  97. #define a1 A1
  98. #define a2 A2
  99. #define a3 A3
  100. #define a4 A4
  101. #define a5 A5
  102. #define a6 A6
  103. #define a7 A7
  104. #define sp SP
  105. #endif
  106.